/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.latesis.bean;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;

/**
 *
 * @author Alan -  Desarrollo
 */
@Entity
@Table(name = "TBL_MENSAJE")
public class MensajeBean implements Serializable{    
    
    private Long id;    
    private String texto;    
    private String titulo;            
    private Date fechaCreacion;
    private List<ChoferBean> choferes;
    private String estado;
    
    public MensajeBean(){
        choferes=new ArrayList<ChoferBean>();
    }

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    public Long getId() {
        return id;
    }

    @Column(name="texto",nullable = false,length = 300)
    public String getTexto() {
        return texto;
    }

    @Column(name="titulo",nullable = false,length = 40)
    public String getTitulo() {
        return titulo;
    }
    
    @Column(name = "fechaCreacion", nullable = false)
    @Temporal(javax.persistence.TemporalType.TIMESTAMP)
    public Date getFechaCreacion() {
        return fechaCreacion;
    }

    @ManyToMany(fetch = FetchType.LAZY)
    @JoinTable(name = "TBL_MENSAJE_CHOFER", joinColumns = {
        @JoinColumn(name = "mensajeId", nullable = false, updatable = false)},
            inverseJoinColumns = {
                @JoinColumn(name = "choferId", nullable = false, updatable = false)})
    public List<ChoferBean> getChoferes() {
        return choferes;
    }

    public void setId(long id) {
        this.id = id;
    }

    public void setTexto(String texto) {
        this.texto = texto;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }

    public void setChoferes(List<ChoferBean> choferes) {
        this.choferes = choferes;
    }
    
    public void setFechaCreacion(Date fechaCreacion) {
        this.fechaCreacion = fechaCreacion;
    }
    
      /**
     * @return the estado
     */
    @Column(name="estado",length = 1,nullable = false)
    public String getEstado() {
        return estado;
    }

    /**
     * @param estado the estado to set
     */
    public void setEstado(String estado) {
        this.estado = estado;
    }

}
